home *** CD-ROM | disk | FTP | other *** search
/ Atari Forever 2 / Atari Forever 2.zip / Atari Forever 2.iso / serie_v / v_137 / appendix.3 < prev    next >
Text File  |  1984-05-01  |  11KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. _✓C_✓l_✓a_✓s_✓s _✓D_✓e_✓s_✓c_✓r_✓i_✓p_✓t_✓i_✓o_✓n
  8.  
  9.      ellipsewid = 1.3i arrow A: ellipse "class heading"  arc
  10.      -> cw arc ellipse "instance variables" arc -> arc cw B:
  11.      ellipse "protocol" arrow arrow from A.e to B.w
  12.  
  13. _✓C_✓l_✓a_✓s_✓s _✓H_✓e_✓a_✓d_✓i_✓n_✓g
  14.  
  15.      arrow circle "C✓C✓C✓Cl✓l✓l✓la✓a✓a✓as✓s✓s✓ss✓s✓s✓s"  arrow  ellipse  "variable"  arrow
  16.      right  3i  move  left  3i move right 0.1i arc -> cw arc
  17.      ellipse "colon variable" arc -> arc cw
  18.  
  19.      v✓v✓v✓va✓a✓a✓ar✓r✓r✓ri✓i✓i✓ia✓a✓a✓ab✓b✓b✓bl✓l✓l✓le✓e✓e✓e defines the class name,  must  begin  with  an
  20.      upper case letter.
  21.      c✓c✓c✓co✓o✓o✓ol✓l✓l✓lo✓o✓o✓on✓n✓n✓n v✓v✓v✓va✓a✓a✓ar✓r✓r✓ri✓i✓i✓ia✓a✓a✓ab✓b✓b✓bl✓l✓l✓le✓e✓e✓e defines the superclass name,  superclass
  22.      is O✓O✓O✓Ob✓b✓b✓bj✓j✓j✓je✓e✓e✓ec✓c✓c✓ct✓t✓t✓t if not given.
  23.  
  24. _✓I_✓n_✓s_✓t_✓a_✓n_✓c_✓e _✓V_✓a_✓r_✓i_✓a_✓b_✓l_✓e_✓s
  25.  
  26.      arrow circle "|" arrow A: ellipse "variable" arc ->  cw
  27.      arc  cw arrow left 1.3i arc cw arc cw move to A.e arrow
  28.      circle "|" arrow
  29.  
  30.      Instance variables must begin with a lower case letter.
  31.  
  32. _✓P_✓r_✓o_✓t_✓o_✓c_✓o_✓l
  33.  
  34.      arrow circle "[" arrow A: ellipse "method"  arc  ->  cw
  35.      line  down 0.2i arc cw arrow left 0.4i circle "|" arrow
  36.      left 0.4i arc cw line up 0.2i arc cw move to A.e  arrow
  37.      circle "]" arrow
  38.  
  39.      Vertical bar  separating  methods  m✓m✓m✓mu✓u✓u✓us✓s✓s✓st✓t✓t✓t  be  placed  in
  40.      column 1.
  41.  
  42. _✓M_✓e_✓t_✓h_✓o_✓d
  43.  
  44.      arrow A: ellipse "method pattern" arc -> cw arc ellipse
  45.      "temporary  variables" arc -> arc cw C: ellipse "state-
  46.      ments" arrow arrow from A.e to C.w
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                      September 19, 1986
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73. _✓M_✓e_✓t_✓h_✓o_✓d _✓P_✓a_✓t_✓t_✓e_✓r_✓n
  74.  
  75.      A: arrow ellipse "unary selector" arrow right  3i  move
  76.      to  A  arc  -> cw line down 0.1i B: arc ellipse "binary
  77.      selector" arrow ellipse "argument variable" arc -> line
  78.      up 0.1i arc -> cw move to start of B line down 0.6i arc
  79.      ellipse "keyword selector" arrow C:  ellipse  "argument
  80.      variable"  arc line up 0.6i move to C.e right arc -> cw
  81.      arc cw arrow left 3.1i arc -> cw arc cw
  82.  
  83.      Argument variables must begin with a lower case letter,
  84.      and must be distinct from instance variables.
  85.  
  86. _✓T_✓e_✓m_✓p_✓o_✓r_✓a_✓r_✓y _✓V_✓a_✓r_✓i_✓a_✓b_✓l_✓e_✓s
  87.  
  88.      arrow circle "|" arrow A: ellipse "variable" arc ->  cw
  89.      arc  cw arrow left 1.3i arc cw arc cw move to A.e arrow
  90.      circle "|" arrow
  91.  
  92.      temporary variables must begin with lower case letters,
  93.      and  must  be  distinct from both instance and argument
  94.      variables.
  95.  
  96. _✓S_✓t_✓a_✓t_✓e_✓m_✓e_✓n_✓t_✓s
  97.  
  98.      arrow A: line right 1.5i move to start of A arc  ->  cw
  99.      arc  circle  "|✓^"  arc -> arc cw B: ellipse "expression"
  100.      arrow right 2.5i move to B.e move right 0.5i arc ->  cw
  101.      arc circle "." arc -> arc cw move to B.e arc -> cw line
  102.      down 0.4i arc -> cw circle "." arrow left 2.5i  arc  cw
  103.      arrow up 0.4i arc cw
  104.  
  105. _✓E_✓x_✓p_✓r_✓e_✓s_✓s_✓i_✓o_✓n
  106.  
  107.      A: arrow right 3.3i move to start of A arc  ->  cw  arc
  108.      ellipse  "variable"  arrow B: circle "<-" arc -> arc cw
  109.      C: ellipse "cascaded expression" arrow move to B.e  arc
  110.      -> cw arc cw arrow left 2.3i arc -> cw arc cw
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                      September 19, 1986
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. _✓C_✓a_✓s_✓c_✓a_✓d_✓e_✓d _✓E_✓x_✓p_✓r_✓e_✓s_✓s_✓i_✓o_✓n
  140.  
  141.      arrow ellipse "simple expression" arrow right 3.5i move
  142.      left  0.5i  right  arc  ->  cw  arc cw circle ";" arrow
  143.      ellipse "continuation" arc -> cw arc cw
  144.  
  145. _✓S_✓i_✓m_✓p_✓l_✓e _✓E_✓x_✓p_✓r_✓e_✓s_✓s_✓i_✓o_✓n
  146.  
  147.      arrow A: ellipse "binary" arrow move to A.e arc  ->  cw
  148.      line  down 0.2i arc cw ellipse "keyword" arc -> cw line
  149.      up 0.2i arc cw
  150.  
  151. _✓B_✓i_✓n_✓a_✓r_✓y
  152.  
  153.      arrow A: ellipse "unary" arrow move to A.e arc -> cw B:
  154.      line  down 0.2i arc cw ellipse "binary selector" arc ->
  155.      cw line up 0.2i arc cw
  156.  
  157. _✓U_✓n_✓a_✓r_✓y
  158.  
  159.      arrow A: ellipse "primary" B: line right 2i arc  ->  cw
  160.      arc  cw  ellipse "unary selector" arc -> cw arc cw move
  161.      to B.e arrow right
  162.  
  163. _✓P_✓r_✓i_✓m_✓i_✓t_✓i_✓v_✓e
  164.  
  165.      arrow right 0.2i circle  "<primitive"  wid  0.7i  arrow
  166.      right  0.2i  ellipse  "unsigned  integer" A: line right
  167.      1.7i arc -> cw arc cw ellipse "primary" arc ->  cw  arc
  168.      cw move to A.e arrow right circle ">" arrow right
  169.  
  170.      Unsigned integer must be a number in the range 0-255.
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                      September 19, 1986
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205. _✓P_✓r_✓i_✓m_✓a_✓r_✓y
  206.  
  207.      A: arrow right 2i ellipse  "variable"  arrow  right  2i
  208.      move  to  start  of A move right 0.5i arc -> cw B: line
  209.      down 0.1i arc arrow right 1i  ellipse  "literal"  arrow
  210.      right 1i arc -> line up 0.1i arc cw move to end of B C:
  211.      arrow down 0.6i arc  arrow  right  1i  ellipse  "block"
  212.      arrow  right 1i arc -> line up 0.6i move to end of C Z:
  213.      arrow down 0.6i arc arrow right 1i ellipse  "primitive"
  214.      arrow  right  1i  arc  -> line up 0.6i move to end of Z
  215.      arrow down 0.6i arc circle "(" arrow ellipse  "cascaded
  216.      expression" arrow circle ")" arc -> line up 0.6i
  217.  
  218.      If variable begins with an upper case letter  it  is  a
  219.      class  name, otherwise variable must be instance, argu-
  220.      ment or temporary variable or pseudo variable name.
  221.  
  222. _✓C_✓o_✓n_✓t_✓i_✓n_✓u_✓a_✓t_✓i_✓o_✓n
  223.  
  224.      A: arrow arrow right 1.5i ellipse "unary  selector"  Z:
  225.      line  right  1.5i arrow right 0.5i move to end of Z arc
  226.      -> cw arrow down 2i arc -> cw arrow left 4.5i arc -> cw
  227.      arrow  up  2i  arc  -> cw move to end of A arc -> cw C:
  228.      arrow down 0.4i arc  ellipse  "binary  selector"  arrow
  229.      ellipse  "unary" arc -> line up 0.4i arc cw move to end
  230.      of C arrow down 0.6i arc  ellipse  "keyword"  arrow  D:
  231.      ellipse  "binary" arc -> line up 0.6i move to D.e right
  232.      arc -> cw arc cw arrow left 3.1i arc cw arc -> cw
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.                      September 19, 1986
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271. _✓B_✓l_✓o_✓c_✓k
  272.  
  273.      arrow A: circle "[" arrow right  2.2i  ellipse  "state-
  274.      ments" arrow circle "]" arrow move to A.e arc -> cw arc
  275.      ellipse "block arguments" width 1.2i arc -> arc cw
  276.  
  277.      The last statement cannot be followed by a period.
  278.  
  279. _✓B_✓l_✓o_✓c_✓k _✓A_✓r_✓g_✓u_✓m_✓e_✓n_✓t_✓s
  280.  
  281.      arrow A: ellipse  "colon  variable"  arrow  circle  "|"
  282.      arrow  move to A.e arc -> cw arc cw arrow left 1.3i arc
  283.      cw arc cw
  284.  
  285. _✓L_✓i_✓t_✓e_✓r_✓a_✓l
  286.  
  287.      arrow right 1i A: arrow ellipse  "number"  arrow  right
  288.      1.5i move to start of A arc -> cw B: line down 0.1i arc
  289.      ellipse "symbol" arc -> line up 0.1i arc cw move to end
  290.      of  B  C:  arrow  down 0.6i arc ellipse "string" arc ->
  291.      line up 0.6i move to end of C D: arrow  down  0.6i  arc
  292.      ellipse  "character  constant" arc -> line up 0.6i move
  293.      to end of D H: arrow down 0.6i arc ellipse  "bytearray"
  294.      arc -> line up 0.6i move to end of H E: arrow down 0.6i
  295.      arc ellipse "array constant" arc -> line up 0.6i
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.                      September 19, 1986
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337. _✓N_✓u_✓m_✓b_✓e_✓r
  338.  
  339.      A: arrow right 3.6i move to start of A arc  ->  cw  arc
  340.      ellipse  "base"  width 0.8i arc -> arc cw arc -> cw arc
  341.      ellipse  "sign"  width  0.8i  arc  ->  arc  cw  ellipse
  342.      "unsigned number" arrow
  343.  
  344. _✓B_✓a_✓s_✓e
  345.  
  346.      arrow ellipse "unsigned integer" arrow circle "r" arrow
  347.  
  348. _✓S_✓i_✓g_✓n
  349.  
  350.      A: arrow arrow right 3i move to end of A B: arc cw  arc
  351.      circle  "+" arc arc cw move to end of B arrow down 0.6i
  352.      arc circle "-" arc arrow up 0.6i
  353.  
  354. _✓U_✓n_✓s_✓i_✓g_✓n_✓e_✓d _✓N_✓u_✓m_✓b_✓e_✓r
  355.  
  356.      arrow A: ellipse "unsigned fraction" arc -> cw arc cir-
  357.      cle  "e"  arrow  right  0.25i ellipse "sign" width 0.8i
  358.      arrow right 0.25i ellipse "unsigned integer" arc -> arc
  359.      cw move to A.e arrow right 4.2i
  360.  
  361. _✓U_✓n_✓s_✓i_✓g_✓n_✓e_✓d _✓F_✓r_✓a_✓c_✓t_✓i_✓o_✓n
  362.  
  363.      arrow A: ellipse "unsigned integer" arc -> cw arc  cir-
  364.      cle  "." arrow ellipse "unsigned integer" arc -> arc cw
  365.      move to A.e arrow right 4i
  366.  
  367. _✓U_✓n_✓s_✓i_✓g_✓n_✓e_✓d _✓I_✓n_✓t_✓e_✓g_✓e_✓r
  368.  
  369.      arrow A: circle "digit" arrow move to A.e arc -> cw arc
  370.      cw arrow left 0.5i arc -> cw arc cw
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.                      September 19, 1986
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403. _✓S_✓y_✓m_✓b_✓o_✓l
  404.  
  405.      arrow circle "#" arrow A: circle "char" arrow  move  to
  406.      A.e arc cw arc cw arrow left 0.5i arc cw arc cw
  407.  
  408.      char is any non-space character  that  is  not  one  of
  409.      period, parenthesis or square braces.
  410.  
  411. _✓S_✓t_✓r_✓i_✓n_✓g
  412.  
  413.      arrow circle "'" arrow A: circle  "char"  arrow  circle
  414.      "'" arrow move to A.e arc cw arc cw arrow left 0.5i arc
  415.      cw arc cw
  416.  
  417.      To include a quote mark in a string, use  two  adjacent
  418.      quote marks.
  419.  
  420. _✓C_✓h_✓a_✓r_✓a_✓c_✓t_✓e_✓r _✓C_✓o_✓n_✓s_✓t_✓a_✓n_✓t
  421.  
  422.      arrow circle "$" arrow circle "char" arrow
  423.  
  424. _✓B_✓y_✓t_✓e_✓a_✓r_✓r_✓a_✓y
  425.  
  426.      arrow circle "#" arrow  circle  "["  arrow  A:  ellipse
  427.      "unsigned  integer"  arrow circle "]" arrow move to A.e
  428.      arc -> cw arc cw line left 1.3i arc -> cw arc cw
  429.  
  430.      Integer must be in the range 0 through 255.
  431.  
  432. _✓A_✓r_✓r_✓a_✓y _✓C_✓o_✓n_✓s_✓t_✓a_✓n_✓t
  433.  
  434.      arrow circle "#" arrow ellipse "array" arrow
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                      September 19, 1986
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469. _✓A_✓r_✓r_✓a_✓y
  470.  
  471.      arrow circle  "("  arrow  A:  arc  ->  cw  arc  ellipse
  472.      "number"  arc  -> arc cw B: arrow circle ")" arrow move
  473.      to start of A arrow right 2.5i move  to  end  of  A  C:
  474.      arrow  down  0.6i  arc ellipse "symbol" arc -> arrow up
  475.      0.6i move to end of C D: arrow down  0.6i  arc  ellipse
  476.      "string" arc -> arrow up 0.6i move to end of D E: arrow
  477.      down 0.6i arc ellipse "character constant" arc -> arrow
  478.      up  0.6i  move  to end of E arrow down 0.6i arc ellipse
  479.      "array" arc -> arrow up 0.6i move to start of  B  right
  480.      arc  ->  cw arrow down 3i arc -> cw arrow left 2.4i arc
  481.      -> cw arrow up 3i arc -> cw
  482.  
  483.      The leading sharp sign can be omitted  in  symbols  and
  484.      arrays inside of an array list.  Binary selectors, key-
  485.      words, and other strings are treated as Symbols  inside
  486.      of arrays.
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                      September 19, 1986
  527.  
  528.  
  529.